import time

# server_info={"cup":80,"men":90,"disk":95}
#
# def alert():
#     print("报警")
#     print("发企微")
#     print("发邮件")
#     print("发短信")
#     print(".....")
#
# while 1:
#     if server_info.get("cup")>=80:
#         alert()
#     if server_info.get("men") > 90:
#         alert()
#     if server_info.get("disk") > 90:
#         alert()
#     time.sleep(60)


# 方法的参数
# 行参：形式上的参数，实参：实际的参数
# 行参指的是定义方法的时候，括号中的参数
# 实参指的是调用这个方法的时候，括号内的参数

def function_params(x,y):
    print(x+y)

function_params(1,2)
function_params("ab","cd")

#默认值
def fuction_params1(x,y=1,z=2):
    print(x+y+z)

fuction_params1(1)
fuction_params1(1,z=3)


#可变参
def function_params2(*args):
    print(args)

#传递的参数，以一个元组的形式去收集，并且给到程序内部使用
function_params2(1,2,3)

print("============================")

#可变关键字传参，kwargs 约定的名字，**是真正影响安置关键字并转为dict的原因
def function_params3(**kwargs):
    print(kwargs)
    print(type(kwargs))

function_params3(name="xiaowang",age=18)



#pass  暂时跳过方法内容的校验
def function_pass():
    pass

#返回值
#如何去返回内容
def funtion_return():
    return 1+1

v=funtion_return()
print(v)


#可以同一时间，返回多个结果
def funtion_return_many():
    return 1,2,3

a,b,c=funtion_return_many()
print(a,b,c)

print("====================================")
#变量的作用域,全局可以影响到方法内部，局部的变量不可以去全局使用
#如果方法不被调用，内部所有逻辑不会生效
fa=2
#如果让内部的影响到全局
def fuction_area():

    global fa
    fa = 3
    print(fa)

print(fa)
fuction_area()

